//在user.js 路由器文件中创建路由器对象，添加用户注册的路由器(post  /register),响应‘注册成功’导出路由器，在app.js文件中引入路由器（./router/user.js）,将路由器挂载到服务器下，添加前缀 /UserDataHandler
const express = require('express');
//引入连接池模块
const pool = require('../pool.js');
//创建路由器对象
const r = express.Router();
//添加用户注册的路由器 （post  /register）

r.post('/register', (req,res) =>{
	//1.1获取post请求
	let obj = req.body;
	//1.2验证各项数据是否为空
	if (!obj.phone) {
		res.send({
			code: 401,
			msg: 'phone required'
		});
		return;
	}
	if (!obj.upwd) {
		res.send({
			code: 402,
			msg: 'upwd required'
		});
		return;
	}

	//验证手机号是否已存在数据库
	pool.query('select * from user where phone=?',[obj.phone],(err,result)=>{
		if(err) throw err;
		if(result.length!==0){
					res.send({code:201,msg:"phone exist"});
				}else{
					//设置默认用户名为手机号
					obj.uname=obj.phone;
					//执行sql插入指令
					pool.query('insert into user set ?', [obj], (err, result) => {
						if (err) throw err;
						//成功
						res.send({code: 200,msg: 'reg suc'});
					});			
				}
	});
});
	
//2.用户登录 （post  /login）
	r.post('/login', (req, res) => {
		//2.1 获取post请求的数据
		let _uname = req.body.uname;
		let _upwd=req.body.upwd;
		//2.2 验证各项数据是否为空
		if (!_uname) {
			res.send({
				code: 401,
				msg: 'uname required'
			});
			return;
		}
		if (!_upwd) {
			res.send({
				code: 402,
				msg: 'upwd required'
			});
			return;
		}
	
		//2.3执行SQL命令 
		pool.query('select * from user where upwd=? and (phone=? or email=?)', [_upwd,_uname,_uname], (err, result) => {
			if (err) throw err;
			//根据结果判断是否登录成功
			//如果是空数组说明登录失败，否则登录成功
			if (result.length === 0) {
				res.send("0");
			} else {
				res.send("1");
			}
		});
	});

//查询用户信息：
r.post('/show_list',(req,res)=>{
	let _uname=req.body.uname;
	pool.query('select * from user where uname=?',[_uname],(err,result)=>{
		if(err) throw err;
		if(result.length>0){
			res.send(result);
		}
	});
});
//修改用户信息：
r.put('/user_update',(req,res)=>{
	let obj=req.body;
	pool.query('update user set ? where uname=?',[obj,obj.uname],(err,result)=>{
		if(result.affectedRows>0){
			res.send("1");
		}else{
			res.send("0");
		}
	});
});
//导出路由器对象
module.exports = r;